package com.douhl.project.business.visitor.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.douhl.framework.aspectj.lang.annotation.Excel;
import com.douhl.framework.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 访客记录对象 business_visitor
 *
 * @author douhl
 * @date 2020-08-18
 */
@ApiModel(value ="访客记录表)")
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("business_visitor")
public class BusinessVisitor extends BaseEntity<Long>
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /** 身份证号码 */
    @Excel(name = "身份证号码")
    @ApiModelProperty(value = "身份证号码")
    @TableField("visitor_ssn")
    private String visitorSsn;

    /** 来访人姓名 */
    @Excel(name = "来访人姓名")
    @ApiModelProperty(value = "来访人姓名")
    @TableField("visitor_name")
    private String visitorName;

    /** 来访人单位 */
    @Excel(name = "来访人单位")
    @ApiModelProperty(value = "来访人单位")
    @TableField("visitor_company")
    private String visitorCompany;

    /** 来访人部门 */
    @Excel(name = "来访人部门")
    @ApiModelProperty(value = "来访人部门")
    @TableField("visitor_dept")
    private String visitorDept;

    /** 来访人车牌 */
    private String visitorVehicle;

    /** 手机号 */
    @Excel(name = "手机号")
    @ApiModelProperty(value = "手机号")
    @TableField("visitor_phone")
    private String visitorPhone;

    /** 来访事由 */
    @Excel(name = "来访事由")
    @ApiModelProperty(value = "来访事由")
    @TableField("reason")
    private String reason;

    /** 携带物品 */
    private String carry;

    /** 被访问人id */
    private String userId;

    /** 被访问人手机号 */
    @Excel(name = "被访问人手机号")
    @ApiModelProperty(value = "被访问人手机号")
    @TableField("user_phone")
    private String userPhone;

    /** 访客单号 */
    private String visitId;

    /** 接口授权请求码 */
    private String appkey;

    /** 状态 */
    @Excel(name = "状态")
    @ApiModelProperty(value = "状态")
    @TableField("state")
    private Integer state;

    /** 预约来访时间 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预约来访时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "预约来访时间")
    @TableField("visit_date")
    private Date visitDate;

    /** 来访人照片 */
    private String img;

    /** 被访问人名称 */
    @Excel(name = "被访问人名称")
    @ApiModelProperty(value = "被访问人名称")
    @TableField("user_name")
    private String userName;

    /** 来访人卡号 */
    private String vipNum;


}
